約 221,160 件
https://w.atwiki.jp/akitaicpc/pages/86.html
基本的なアルゴリズム タイトルが基本的なアルゴリズムと書いていますが、ジャンル分けが適当なので 基本的とは限らないことを初めに断っておきます。 最大値・最小値 値の交換 配列を逆順にする 配列を巡回シフトさせる エラトステネスのふるい(素数判定) ユークリッドの互除法(2 つの自然数の最大公約数を求める) 拡張ユークリッドの互除法? 素因数分解 ...
https://w.atwiki.jp/akitaicpc/pages/185.html
Faceboook Hacker Cup 2012 Facebook Hacker Cup 2012の予選が1/21(土)に、Round1が1/29(日)に開催されました。(日本標準時間) 気が向いたら解説を書きます。 Qual Qual(予選)は1/21(土) 9 00 - 1/24(土) 9 00 (JST)に開催されました。 問題タイトル 解説 Billboards 解説 Auction 解説 Alphabet Soup 解説 Round 1 Round1は1/29(日) 3 00 - 1/30(月) 3 00 (JST)に開催されました。 問題タイトル 解説 Checkpoint 解説 Recover the Sequence 解説 Squished Status 解説 Round 2 Round2は2/5(日) 6 00 - 9 00 (JST)に開催されました。 問題タイトル 解説 Road Removal 解説 Monopoly 解説 Sequence Slicing 解説 Round 3 Round3は2/12(日) 6 00 - 9 00 (JST)に開催されました。 問題タイトル 解説 Trapezoids 解説 Divisor Function Optimization 解説 Unfriending 解説 ...
https://w.atwiki.jp/akitaicpc/pages/91.html
動的計画法(DP) フィボナッチ数列での動的計画法? 巡回セールスマン問題 TSP? ...
https://w.atwiki.jp/akitaicpc/pages/21.html
8パズル ...
https://w.atwiki.jp/aust/pages/285.html
全く気づきませんでした。 -- Bc.Jr 2012-01-23 01 15 43 アオノさん全く気づきませんでした(汗)。 この掲示板も『現役AUSTを見守るOBたち声』 みたいになればいいですね。 援助金を集めるために、 『今度東京でOB会やるよ』とか 『○○月に秋田に行きます♪』 の他にも 掲示板上で、昔ばなしに華を咲かせてもいいのではないでしょうか。それが、幹部の企画決めの参考になれば面白いかもしれませんね。 『角館の花見』とか・・・(笑) 兄貴、すみません。 勝手に主旨を付けてしまいました。 今自分は、実家に戻り、県民のために働いております。 仕事次第ですが、同期(6orM2)が卒業なので、今年までは、とりあえず歓送会に参加させて頂ければなと思っています。 こんな私ももうOB3年生になります。 現役の3年生って幹部で大変でしたね。 みんなを泳ぎ、楽しませることの難しさ。 今となっては、社会人の生きる糧となっています。 おっと 語り始めたらキリがないので とりあえず締めます。 それでは締めのあいさつを・・・ たかじゅんさん・・・ お願いします(笑)。 名前 コメント
https://w.atwiki.jp/akitaicpc/pages/87.html
ソートアルゴリズム ソート(sort)とは、データの集合を一定の規則に従って並べることのことです。日本語では整列(せいれつ)といいます。 単にソートというと、値を小さい順に並べる昇順(しょうじゅん、ascending order)を指すことが多いみたいです。 その反対に値を大きい順から並べることを降順(こうじゅん、descending order)といいます。 C++では algorithm ヘッダをインクルードすることでsort関数を使えるので、便利です。 つまりソートのアルゴリズムを知らなくてもソートできるということです。 しかし、ソートのアルゴリズムを知りたい人もいると思うので、 各ソートのアルゴリズムとコードを載せておきます。 -説明 例えばvector int vc;に対してvcの要素のすべてを昇順にソートしたいなら sort( vc.begin() , vc.end() ); と書くだけでソートが完了します。 数値だけでなく、文字列(std string)であれば辞書順にソートされます。 次がソートの例です。 #include iostream #include vector #include algorithm using namespace std; int main(){ int n,a; vector int vc; cin n; for(int i=0 ; i n ; i++ ){ cin a; vc.push_back( a ); } sort( vc.begin() , vc.end() ); cout "ソートしました" endl; for(int i=0 ; i vc.size() ; i++ ){ cout "a[" i "] " a[i] endl; } } 比較的有名なソートアルゴリズム バブルソート? 挿入ソート? 選択ソート? クイックソート? マージソート? マイナーなソートアルゴリズム? ボゴソート? ボゾソート? シェーカーソート? コムソート? ノームソート? シェルソート? 2分木ソート? ライブラリソート? ヒープソート? イントロソート? バケットソート? 鳩の巣ソート? 分布数えソート? 逆写像ソート? ...
https://w.atwiki.jp/akitaicpc/pages/34.html
標準入出力 stdio.h 書式付きデータを標準出力に書き込む printf(const char *Format, ... ) 引数 Format 出力する文字列(書式付き) ... 出力する値のリスト 戻り値 出力した文字数(バイト数) +プログラム例 #include stdio.h int main(){ int a = 5; double b = 0.3; char c = H ; char d[80] = "ello"; printf("%d %f %c %s \n", a , b , c , d); return 0; } 実行結果 5 0.300000 H ello 書式付きデータを標準入力から読みだす scanf(const char *Format, ... ) 引数 Format 読みだすデータの書式 +プログラム例 #include stdio.h int main(){ int a; printf("数値を入力してください "); scanf("%d" , a); printf("入力した値は%dです\n", a); return 0; } 標準入力から1行の文字列を読みだす gets(char *buffer) 引数 buffer 戻り値 成功したときはバッファをさすポインタ ファイルの終わり、またはエラーのときNULL +プログラム例 誰か編集して... ...
https://w.atwiki.jp/akitaicpc/pages/196.html
蟻本(プログラミングコンテストチャレンジブック) プログラミングコンテストチャレンジブックとは、プログラミングコンテストに参加する人たちにとってバイブルとも言える本であり、表紙に蟻が載っているので蟻本とも呼ばれています。2012年には第二版も発売されました。 プログラミングコンテストチャレンジブック 第2版(Amazon) 第二版が出ます!プログラミングコンテストチャレンジブック(iwiの日記) 蟻や蟻本に関する問題 問題番号 問題タイトル AOJ 2265 プログラミングコンテストチャレンジブック(UTPC 2011) AOJ 1214 Walking Ant POJ 1852 Ants POJ 3565 Ants 蟻本に関するブログの記事やページ 蟻本~プログラミングコンテストチャレンジブック 目指せアリ充!「プログラミングコンテスト チャレンジブック」を中級編まで読み終えた プログラミングコンテストチャレンジブック(ブログ) プログラミングコンテストチャレンジブック第二版 初回限定/店舗特典まとめ(Toggeter) ...
https://w.atwiki.jp/akitaicpc/pages/30.html
Hello Worldをわかりにくくしてみた プログラミングにおいて初めてプログラムを作る際"Hello World"という文字列を出力する慣習があります。 このプログラムをあえて分かりにくくするということをやってみました。 ちなみに言語はC言語です。 普通のHello worldのプログラム #include stdio.h int main(){ printf("Hello World!"); } わかりにくいHello world #include stdio.h int main(){ printf("%c%c%c%c%c%c%c%c%c%c%c%c\n",72,101,108,108,111,32,87,111,114,108,100,33); } わかりにくいHello worldその2 #include stdio.h #define H int #define e main(){printf("%c%c%c%c%c%c%c%c%c%c%c%c\n",72,101 #define l ,108 #define o ,111 #define W ,87 #define r ,114 #define d ,100,33);} H e l l o W o r l d ...
https://w.atwiki.jp/akitaicpc/pages/216.html
mapの使い方 mapの宣言 std map keyの型名, 値の型名 変数名; map keyの型名, 値の型名 変数名; // using namespace std; を書いているとき よく使うメンバ関数 // map T1, T2 m; とします。 // 要素数を返す. (戻り値 size_type) m.size(); // 要素をすべて削除する. (戻り値 void) m.clear(); // 要素数が 0 のときは true, そうでないときは false を返す. (戻り値 bool) m.empty(); // key と対応する値を val に変更する. key がまだ存在していなかったときは新しく要素に追加される. (戻り値 T2) m[key] = val; // key と対応する値の個数を返す. key と対応する値はユニークなので 0 か 1 が返ってくる. (戻り値 size_type) m.count( T1 key ) // key と対応する要素を削除して, 削除した個数を返す. (戻り値 size_type) m.erase( cosnt T1 key ); // m の先頭を指すイテレータを返す. (戻り値 iterator) m.begin(); // m の末尾を指すイテレータを返す. (戻り値 iterator) m.end(); その他 // map の要素をすべて走査する (keyが小さい順から走査されます) for(map T1,T2 iterator it = m.begin() ; it != m.end() ; ++it ){ it- first; // keyの値 it- second; // keyと対応する値 } ...